iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
自我挑戰組

chatGPT 帶你從零開始寫 websocket 連線遊戲系列 第 15

D15 驅動遊戲前進的是什麼? - 談談遊戲循環、狀態機、事件溯源

  • 分享至 

  • xImage
  •  

今天簡短談一下我目前對遊戲模型的理解,算是自我整理的部分

遊戲循環

render -> action -> update -> render -> ...

  • render: 將遊戲狀態渲染到畫面上
  • action: 玩家進行操作 (移動、出牌、攻擊、等待)
  • update: 遊戲更新狀態

只要能滿足以上要素就能構成一個單純的遊戲循環

(有限)狀態機

狀態機跟上面的遊戲狀態有點區別,以我自己的觀察,狀態機並不是「趨近無限的可能組合」,而是「有限的狀態節點」
狀態機把狀態收斂成有限的集合,並且定義了不同狀態之間轉移的邏輯。
想使用狀態機的動機應該是為了將遊戲的運作規則轉換成一組描述的某個東西
事實上,我自己也還不知道有什麼架構適合用來描述遊戲內各式各樣的變化、規則

事件溯源

這是近期聽到的架構,以「事件」所有狀態的變化

(待續)


上一篇
D14 實作日 - websocket API server 和 client 端完整實作
下一篇
D16 探索事件溯源 - 以簡易的井字遊戲為例
系列文
chatGPT 帶你從零開始寫 websocket 連線遊戲31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言